package pacman.skills;

import pacman.objects.Ghost;


/**
 * This class represents pacman' base's skill
 * @author Leonardo
 */
public abstract class Skill {

   protected int mana;
   protected int hit;
   protected int cost;
   protected int tick;
   protected boolean isActive;
   protected int spriteIndex;

   /**
     * Set the inicial parameters of skill
     */
   public Skill(){
       this.mana = 0;
       this.hit = 0;
       this.cost = 0;
       this.tick = 0;
       this.isActive = false;
       this.spriteIndex = 0;
   }

   /**
     * Return the stats of the skill
     * @return isActive
     */
    public boolean Active(){
        return this.isActive;
    }

    /**
     * Return the mana number of the skill
     * @return mana
     */
    public int Mana(){
        return this.mana;
    }

    /**
     * Return the hit number of the skill
     * @return hit
     */
    public int Hit(){
        return this.hit;
    }

    /**
     * Pacman attacks a ghost
     * @param ghost Ghost that may die
     */
    public void Attack(Ghost ghost){
        ghost.TakeDamage(this.hit);
    }
    
   // implementar delay
  // public abstract void render();
}
